#include "reg52.h" 
#include "intrins.h"
// #include "absacc.h" 
// 关闭外设
void Cls_Peripheral(void) 
{ // IO 模式（J13-2 和 J13-3 相连）
 P0 = 0xFF;   
 P2 = P2 & 0x1F | 0x80; // P27～P25 清零，再定位 Y4C 
 P2 &= 0x1F; // P27～P25 清零
P0 = 0;
 P2 = P2 & 0x1F | 0xA0; // P27～P25 清零，再定位 Y5C 
 P2 &= 0x1F; // P27～P25 清零
//XBYTE[0x8000] = 0xFF; // MM 模式（J13-2 和 J13-1 相连）
//XBYTE[0xA000] = 0; 
} 
// LED 显示
void Led_Disp(unsigned char ucLed) 
{ // IO 模式（J13-2 和 J13-3 相连）
 P0 = ucLed; 
 P2 = P2 & 0x1F | 0x80; // P27～P25 清零，再定位 Y4C 
 P2 &= 0x1F; // P27～P25 清零
//XBYTE[0x8000] = ~ucLed; // MM 模式（J13-2 和 J13-1 相连）
} 
// 延时函数（最小约 1ms@12MHz）

void Delay(unsigned int xms)		//@12.000MHz
{
	unsigned char i, j;
	xms=xms*10;
	while (xms--){
		i = 2;
	j = 239;
	do
	{
		while (--j);
	} while (--i);
	}
	
}

// 主函数
void main(void) 
{ 
 unsigned char i, j; 
 Cls_Peripheral(); 
 while(1) 
 { // 4 个亮度等级
 for(i=0; i<4; i++) 
 for(j=0; j<100; j++) 
 { 
 Led_Disp(0); 
 Delay(i+1); 
 Led_Disp(0xff); 
 Delay(4-i); 
 } 
 } 
}